Artemis: Practical Runtime Monitoring of Applications for Errors
نویسندگان
چکیده
A number of hardware and software techniques have been proposed to detect dynamic program behaviors that may indicate a bug in a program. Because these techniques suffer from high overheads they are useful in finding bugs in programs before they are released, but are significantly less useful in finding the much harder to detect bugs in long-running programs – the bugs that are the most difficult to find using traditional techniques. In this paper we propose the Artemis1 compiler-based instrumentation framework that complements many pre-existing runtime monitoring techniques, yielding an average asymptotic lower bound on overhead of 11% on the seven SPEC benchmarks tested. 1Artemis is the Greek goddess of the hunt and wild animals. Our framework guides the hunt for wild bugs.
منابع مشابه
Runtime verification and monitoring of embedded systems
Ensuring the correctness of software applications is a difficult task. The area of runtime verification, which combines the approaches of formal verification and testing, offers a practical but limited solution that can help in finding many errors in software. Runtime verification relies upon tools for monitoring software execution. There are particular difficulties with regard to monitoring em...
متن کاملMaking Runtime Monitoring of Parametric Properties Practical By
Software reliability has become more important than ever in recent years, as a wide spectrum of software solutions are being used on various platforms. To this end, runtime monitoring is one of the most promising and feasible solutions for enhancing software reliability. In particular, runtime monitoring of parametric properties (parametric monitoring) has been receiving growing attention for i...
متن کاملPreventing Key Performance Indicators Violations Based on Proactive Runtime Adaptation in Service Oriented Environment
Key Performance Indicator (KPI) is a type of performance measurement that evaluates the success of an organization or a partial activity in which it engages. If during the running process instance the monitoring results show that the KPIs do not reach their target values, then the influential factors should be identified, and the appropriate adaptation strategies should be performed to prevent ...
متن کاملEfficient and Scalable Runtime Monitoring for Cyber–Physical System
Our reliance on cyber–physical systems (CPSs) is increasingly widespread, but scalable methods for the analysis of such systems remain a significant challenge. Runtime verification of CPSs provides a reasonable middle ground between formal verification and simulation approaches, but it comes with its own challenges. A runtime verification system must run directly on the deployed application. In...
متن کاملWhat Is a Trace? A Runtime Verification Perspective
Runtime Monitoring or Verification deals with traces. In its most simple form a monitoring system takes a trace produced by a system and a specification of correct behaviour and checks if the trace conforms to the specification. More complex applications may introduce notions of feedback and reaction. The notion that unifies the field is that we can abstract the runtime behaviour of a system by...
متن کامل